home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / smb_msblast.nasl < prev    next >
Text File  |  2005-01-14  |  4KB  |  121 lines

  1. #
  2. # (C) Tenable Network Security
  3. #
  4.  
  5. if(description)
  6. {
  7.  script_id(11818);
  8.  
  9.  script_version("$Revision: 1.10 $");
  10.  
  11.  name["english"] = "The remote host is infected by msblast.exe";
  12.  
  13.  script_name(english:name["english"]);
  14.  
  15.  desc["english"] = "
  16. The remote host seems to be infected by the MS Blaster worm,
  17. or the Nachi worm, and may make this host attack random hosts on the internet.
  18.  
  19. Solution : 
  20.  - http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.worm.html
  21.  - http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.b.worm.html
  22.  - http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.c.worm.html
  23.  - http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.d.worm.html
  24.  - http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.e.worm.html
  25.  - http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.f.worm.html
  26.  - http://www.symantec.com/avcenter/venc/data/w32.welchia.worm.html
  27.  - http://www.microsoft.com/technet/security/bulletin/ms03-039.mspx
  28.  
  29. Risk factor : Critical";
  30.  
  31.  
  32.  
  33.  
  34.  script_description(english:desc["english"]);
  35.  
  36.  summary["english"] = "Checks for the presence of msblast.exe";
  37.  
  38.  script_summary(english:summary["english"]);
  39.  
  40.  script_category(ACT_GATHER_INFO);
  41.  
  42.  script_copyright(english:"This script is Copyright (C) 2003 Tenable Network Security");
  43.  family["english"] = "Windows";
  44.  script_family(english:family["english"]);
  45.  
  46.  script_dependencies("netbios_name_get.nasl",
  47.               "smb_login.nasl","smb_registry_access.nasl");
  48.  script_require_keys("SMB/name", "SMB/login", "SMB/password", "SMB/registry_access");
  49.  
  50.  script_require_ports(139, 445);
  51.  exit(0);
  52. }
  53.  
  54.  
  55. include("smb_nt.inc");
  56.  
  57. name    = kb_smb_name();     if(!name)exit(0);
  58. login    = kb_smb_login();     if(!login)exit(0);
  59. pass    = kb_smb_password();     if(!pass)exit(0);
  60. domain  = kb_smb_domain();     if(!domain)exit(0);
  61. port    = kb_smb_transport();
  62.  
  63. if(get_kb_item("SMB/registry_access"))
  64. {
  65. key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
  66. item = "windows auto update";
  67. value = tolower(registry_get_sz(key:key, item:item));
  68. if(value && ("msblast.exe" >< value || "penis32.exe" >< value || "mspatch.exe"))security_hole(port); 
  69.  
  70.  
  71. key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
  72. item = "microsoft inet xp..";
  73. value = tolower(registry_get_sz(key:key, item:item));
  74. if(value && "teekids.exe" >< value)security_hole(port); 
  75.  
  76.  
  77. # Variant .F
  78. key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
  79. item = "www.hidro.4t.com";
  80. value = tolower(registry_get_sz(key:key, item:item));
  81. if(value && "enbiei.exe" >< value)security_hole(port); 
  82.  
  83. # Variant .E
  84. key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
  85. item = "Windows Automation";
  86. value = tolower(registry_get_sz(key:key, item:item));
  87. if(value && "mslaugh.exe" >< value)security_hole(port); 
  88. }
  89.  
  90.  
  91. # Nachi
  92.  
  93.  
  94.  
  95. rootfile = registry_get_sz(key:"SOFTWARE\Microsoft\Windows NT\CurrentVersion", item:"SystemRoot");
  96. if(!rootfile)exit(0);
  97.  
  98. share = ereg_replace(pattern:"([A-Z]):.*", replace:"\1$", string:rootfile);
  99. file =  ereg_replace(pattern:"[A-Z]:(.*)", replace:"\1\wins\dllhost.exe", string:rootfile);
  100.  
  101.  
  102. if(!port) port = 139;
  103. if(!get_port_state(port))exit(0);
  104. soc = open_sock_tcp(port);
  105. if(!soc)exit(0);
  106. r = smb_session_request(soc:soc, remote:name);
  107. if(!r)exit(0);
  108. prot = smb_neg_prot(soc:soc);
  109. if(!prot)exit(0);
  110. r = smb_session_setup(soc:soc, login:login, password:pass, domain:domain, prot:prot);
  111. if(!r)exit(0);
  112.  
  113. uid = session_extract_uid(reply:r);
  114. r = smb_tconx(soc:soc, name:name, uid:uid, share:share);
  115. tid = tconx_extract_tid(reply:r);
  116. if(!tid)exit(0);
  117.  
  118. fid = OpenAndX(socket:soc, uid:uid, tid:tid, file:file);
  119. if(fid)security_hole(port);
  120.  
  121.